Basic - Normal Weapon Mod
Here is a step by step tutorial for making a weapon mod.
Phase 1: Define your mod
1. New mod project
Make sure you have the prerequirements for modding and download a fresh ModToolkit to start.
- Download & Install Unity Hub.
- Download & Install Unity (2020.3.48f).
- Download the Battle Talent ModToolkit. (Wanna use git? Check out the repo!)
- Open the downloaded ModToolkit in Unity.
2. Remove unused content
Make sure to remove the demo content so that we have a clean project to start with.
- In the Unity toolbar; click
Tools > Destructive > Cleanup All Content.
3. Product name
Change the product name so that the mod folder name will not conflict with other mods.
- In the Unity Toolbar: Go to
Edit -> Project Settings -> Player. - Modify field
Product Nameto your new mod name. Use the format:YOURPREFIX_MyModName. Example:WMD_ChevalierWeapons

4. Prefix.
Change the project prefix so that the mod files will not conflict with other mods.
-
In the Unity file browser: Open
Assets -> Resources -> AddressableConfig.asset -
Modify field
Prefixto your new prefix name. Use the format:YOURPREFIX_MyModName_. Example:WMD_ChevalierWeapons_Note: The prefix used in the tutorial is
WMD_. You will need to fill in your new prefix instead of everyWMD_in the tutorial.

5.Generate folder structure using the template wizard.
- In the Unity Toolbar: Go to
Tools → Template Wizard. - Make sure the
inspectorwindow is shown (Template Wizard will show there). - Enter a
new mod folder name. Example:YourModName - Set the
Mod Typeto:Weapon. - Fill in the desired
ItemInfoConfigfields. - Click the
Generate Templatebutton to generate theWeaponfolder structure.
6.Place the model
- Open the newly created prefab in the
Weaponfolder.
- Drag your model of the sword into the prefab hierarchy under the parent object.
Explanation: Parent object is the top object of the prefab. It will be called the same as the name of your prefab.
(Example: Prefab file is calledNewModFolderName.prefab. parent object will be calledNewModFolderName). - Rotate the model and resize the weapon until it feels ok in comparison to the dummy weapon.

- Under
InteractWeapon, clickshow example weaponagain to disable it. - Reference the MeshRenderer from the model to Skill Change Colors. (quick tips: if you want to place multiple renderer at the same time, you can click the lock button to lock the inspector, then drag them all at once) (the Skill Change Colors will be used for change weapon color when it's needed, such as damaged).

7.Add Collider for colliding
- Click Add Component to add Mesh Collider.
- select Convex and change default layer to Interact layer.
(quick tips: if you want accurate collision, we recommend Collider Creator in the unity asset store, but it's not free.)

8. Define HitInfo and CollisionEffect
In short, RagdollHitInfoObj defines how a collider deals damage and CollisionEffect defines what's the collision physics material is.
- Change the values in
RagdollHitInfoObjandCollisionEffectas (shown in screenshot) on the Parent Object. (Possible options to enter here are can be found on this page: HitInfo and CollisionEffect.)
- Then add these components(
RagdollHitInfoObjandCollisionEffect) to the handle as well to distinguish hits between blade and handle.
(Explanation: To learn more about RagdollHitInfoObjandCollisionEffect, please read HitInfo and CollisionEffect.)
9.Add AttachLine for grabbing
- Drag
AttachLinefrom the path Asset/Prefabs to the Parent Object.
Explanation:AttachLinedescribes how your hand grabbing it. If you toggle Gizmos in the scene editor, then you will see a blue line where your hand will attach to. - Adjust the size of the Line Start Point and the Line End Point to modify the grab area.
Since this is a two-handed weapon, so we add another one:
- Add another
AttachLine, and this one should depend on the previous one. - Set DependAttachObj to the other.
- Set Index Limit to Both, so that this attach will limit to player's hand in two direction of your index finger.

- At last, reference these
AttachLines to the InteractWeapon component from the Parent Object. And selectAllow Second Hand.

10.Add MountPoint for backpack
MountPoint will determine where it will mount to your inventory slots like belt or back.
- A MountPoint is already added for you by the template wizard (named
MountAttach). - Move it to the relative position where it should attach to the backpack.

11.Add StabObject for stabbing
- Add
StabObjectto Parent Object. - Define the StabArea to surround the blade. (Tips: you can hover the mouse over the parameter to view the tips.)

12.Change weapon handling
- Click the
Swing Like Hammerbutton. (it'll modify the grab force and hand speed)
- Save the prefab.
Phase 2: Prepare to export your mod
Create Configuration files and fill (StoreItemInfo)
Generating the icon
- In the Unity Toolbar: Go to
Tools → Icon Generator. - Drag the
Prefabof your mod (the weapon, avatar, scene) into the field:Game Object To Render. - Adjust the settings of the icon to your liking.
- Click the
Save PNG...button. - Overwrite the dummy icon in folder
IConof your mod that has been created for you previously. (keep the name as is. Don't change this). - Set the Max size to
256and clickApplyto save (yes screenshot shows 128, my bad).
Phase 3: Build the mod
1. Update all addressables.
- Go to AddressableConfig(
Assets > Resources > AddressableConfig) or use shortcut:ctrl+shift+e. - Click
Clear AddressablesandCreate And Refresh Addressable Name.
Then you will see this tool has already setup addressable path for you in the Addressables Groups window. (Window/Asset Management/Addressables/Groups to open this window)

3. Build
Click BuildTools > BuildAllBundles to Build.
Once you build it successfully, then you will find your mod in the Assets/Mods. If something errors, please checkout the Console information, unity will tell you what's going wrong. And feel free to ask questions on our discord server.
Phase 4: Test & publish the mod
1. Install on device
For PC (Recommend for debugging):
- Make sure you have Battle Talent installed (Steam).
- In Unity: Click
BuildTools>InstallModOnWindows.
For Quest:
- Make sure you have Battle Talent installed on your Quest (Quest store).
- Make sure you've connected your headset correctly.
- Make sure you've allowed sideloading.(if you are not sure how to do this, you can follow this tutorial: https://www.youtube.com/watch?v=RoIXxIfRNTw)
- In Unity: Click
BuildTools>InstallModOnAndroid.
2. Spot the issues via log panel
Now that it's installed it's time to see if it's working correctly. See if the console gives you some errors. It'll be opened when you toggle Cheat Menu on.

3. Upload your mod to mod.io
- Zip your mod.
- Go to https://battletalent.mod.io/.
- Click
Add mod. - Authenticate (login).
- Fill in the required fields.